package appagendaprofesores.negocio;

import java.util.Collection;

import appagendaprofesores.dao.CategoriaDAO;
import appagendaprofesores.excepcion.DAOExcepcion;
import appagendaprofesores.modelo.Categoria;
import appagendaprofesores.modelo.CategoriaPadre;

public class GestionCategorias {
	
	public Categoria insertar(String nombre, String descripcion, int idCategoriaPadre)
			throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();		
		
		Categoria vo = new Categoria();
		
		CategoriaPadre categoriaPadre = new CategoriaPadre();
		categoriaPadre.setIdCategoriaPadre(idCategoriaPadre);
		
		vo.setNombre(nombre);
		vo.setDescripcion(descripcion);
		vo.setCategoriaPadre(categoriaPadre);	
		
		
		return dao.insertar(vo);
	}
	
	public Categoria actualizar(int idCategoria, String nombre, String descripcion,
			int idCategoriaPadre) throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();

		Categoria vo = new Categoria();
		
		CategoriaPadre categoriaPadre = new CategoriaPadre();
		categoriaPadre.setIdCategoriaPadre(idCategoriaPadre);
		
		vo.setIdCategoria(idCategoria);
		vo.setNombre(nombre);
		vo.setDescripcion(descripcion);
		vo.setCategoriaPadre(categoriaPadre);

		return dao.actualizar(vo);
	}

	public void eliminar(int idCategoria) throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();
		dao.eliminar(idCategoria);
	}
	
	public Categoria obtener(int idCategoria) throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();
		return dao.obtener(idCategoria);
	}
	
	public Collection<Categoria> listar() throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();
		return dao.listar();
	}
	
	public Collection<Categoria> buscarPorNombre(String nombre)
			throws DAOExcepcion {
		CategoriaDAO dao = new CategoriaDAO();
		return dao.buscarPorNombre(nombre);
	}
	
}
